<?php
// ------------------------------------------------------------------------
// |@Author       : Jarmin <edshop@qq.com>
// |@----------------------------------------------------------------------
// |@Date         : 2023-06-24 19:09:34
// |@----------------------------------------------------------------------
// |@LastEditTime : 2023-06-24 19:12:20
// |@----------------------------------------------------------------------
// |@LastEditors  : Jarmin <jarmin@ladmin.cn>
// |@----------------------------------------------------------------------
// |@Description  : 
// |@----------------------------------------------------------------------
// |@FilePath     : dept.php
// |@----------------------------------------------------------------------
// |@Copyright (c) 2023 http://www.ladmin.cn   All rights reserved. 
// ------------------------------------------------------------------------
namespace app\setting\controller;

use think\admin\extend\DataExtend;
use think\admin\Controller;

/**
 * 部门控制器,用于实现部门相关控制器操作
 */
class Dept extends Controller
{
    /**
     * 获取部门列表
     * @return void
     */
    public function list()
    {
        $result = $this->logicDept->getList($this->app->request->param());
        // 判断操作结果
        if ($result['code'] === SUCCESS) {
            return $this->success(DataExtend::arr2tree($result['data']), $result['message']);
        } else {
            return $this->error($result['code'], $result['message']);
        }
    }

    /**
     * 添加部门信息
     * @validate true
     * @sing true
     * @return mixed 返回成功或失败的提示信息以及添加后的部门信息
     */
    public function add()
    {
        $result = $this->logicDept->saveDept($this->app->request->post());
        // 判断操作结果
        if ($result['code'] === SUCCESS) {
            return $this->success($result['data'], $result['message']);
        } else {
            return $this->error($result['code'], $result['message']);
        }
    }

    /**
     * 编辑部门信息
     * @validate true
     * @sing true
     * @return mixed 返回成功或失败的提示信息以及修改后的部门信息
     */
    public function edit()
    {
        $result = $this->logicDept->saveDept($this->app->request->post());
        // 判断操作结果
        if ($result['code'] === SUCCESS) {
            return $this->success($result['data'], $result['message']);
        } else {
            return $this->error($result['code'], $result['message']);
        }
    }

    /**
     * 删除指定的部门信息
     * @validate true
     * @sing true
     * @return mixed 返回成功或失败的提示信息以及删除的部门信息
    */
    public function delete()
    {
        $result = $this->logicDept->deleteDept($this->app->request->delete());
        // 判断操作结果
        if ($result['code'] === SUCCESS) {
            return $this->success($result['data'], $result['message']);
        } else {
            return $this->error($result['code'], $result['message']);
        }
    }
}